The present invention relates to wireless data transmission, in particular to the handling of connections in the gateway of the WAP system (Wireless Application Protocol) and of other similar wireless systems.
Wireless communication networks and the Internet network are expanding rapidly and the number of persons using these is also on the increase. The importing of Internet contents and sophisticated data services in digital mobile stations, so-called media telephones, can be implemented using the WAP technology or Nokia's Smart Messaging technology, for example. Although the example referred to below concerns the WAP system, this presentation also applies to other similar systems (Nokia Smart Messaging etc.), which are used to import Internet contents in wireless terminals. Contents that conform to the WAP technology and that have been imported in wireless terminals are generally known as the WAP content. The WAP technology utilises parts of the existing standards. In addition, it comprises own solutions optimised for use with wireless networks. The aim is to support a maximally large number of wireless digital telecommunication networks on a global scale. As the WAP system was developed only recently and as the specifications of the said system in some cases only define the framework for different types of implementation, no solutions are known to exist for implementing certain parts of the system.
The WAP system is based on the joint operation of three components, that is, the WAP terminal 10, the WAP gateway 11 and the origin server 12 (FIG. 1). Correspondingly, the Nokia Smart Messaging system comprises a gateway between the terminal and the origin server, one of the product versions of the said gateway being termed Nokia Artus Messaging Platform. To browse WAP contents, the user has access to the wireless WAP terminal 10 which comprises a WAP browser as the user interface, a micro browser, or some other WAP application that can be used in a WAP terminal. The said WAP terminal can be any appliance which uses the WAP protocol for external communications. The WAP browser is analogous with the web browser.
When the user wants to receive a certain WAP content in his terminal, the effectively encoded request 13 first moves through the radio path to the WAP gateway 11. The said gateway, which comprises coders and decoders, is capable of converting information that conforms to the WAP protocol, such as a WSP (Wireless Session Protocol), to information that conforms to the Internet protocol, such as the HTTP protocol (HyperText Transfer Protocol), and vice versa. Once the gateway receives the aforementioned request from the WAP terminal, it converts it to the request 14, which conforms to the Internet protocol, and sends it to the origin server 12 in which the desired WAP content is located.
The WAP content 15, which is obtained from the origin server as a response to the above request and which can be a WML document (Wireless Markup Language) or WML script document, is sent to the WAP gateway 11 which converts the information that conforms to the Internet protocol to information that conforms to the WAP protocol, such as the WSP protocol. Correspondingly, a HTML document (Hyper Text Markup Language), for example, is converted to a TTML document (Tagged Text Markup Language) in the gateway of the Nokia Smart Messaging system. Next, the gateway 11 sends the WAP content 16, which is effectively coded for the radio path, to the WAP terminal 10. It should be noted that there are typically a number of elements between the WAP gateway and the radio interface in the GSM network (Global System for Mobile communication), for example. The said elements are usually appliances which are located in a mobile services switching centre, a base station controller or a base transceiver station. In the GSM network, the WAP gateway can be connected to the mobile services switching centre or short message service centre. The WAP gateway can be perceived as being in a functional contact with the radio interface.
The block diagram of the WAP gateway 11 is shown in FIG. 2. The gateway comprises the WAP protocol stack 20 which comprises hierarchical WAP protocol layers of which the lowermost WDP layer (Wireless Datagram Protocol) communicates with the wireless network 21. In addition, the gateway comprises the gateway applications 23 in which the requests obtained from the WAP protocol layers and the replies received from the origin servers are handled. The gateway applications normally use a different memory (MEMORY B) 22 than does the WAP protocol stack 20, the memory (MEMORY A) 24 of which contains separate storage blocks reserved for use by different protocol layers.
Physically the gateway can be located in the information network of a telecommunications company. One telecommunications company typically only has one or several WAP gateways each of which serves a large number of customers who utilise WAP services.
Each WAP terminal application typically has at least one session with the WAP gateway, which session should be known to the WAP gateway, that is, stored in its ROM or RAM. The session denotes here communication-related shared information known to both the connection parties, here, the WAP terminal and the WAP gateway. The initiative for opening the session is obtained from the WAP terminal, which terminal typically also launches an initiative for terminating the session. As there may be more than one million sessions to one WAP gateway simultaneously, the problem is the ability of the gateway to handle the enormous quantity of requests which are obtained from terminals, without becoming jammed. There may be a number of requests during one session.
As for its protocols, the WAP system is hierarchical (FIG. 3). The protocol comprises information on the forms of data transmission and on the rules that govern traffic and behaviour in data transmission.
The uppermost layer, the WAE layer 30 (Wireless Application Environment), is not actually a WAP protocol layer, but a broad application environment which is based on WWW (World Wide Web) and mobile station technologies. Below the said WAE layer in the hierarchy lies the uppermost actual protocol layer of the WAP protocol stack, the WSP (Wireless Session Protocol), which comprises session-related services connected with making browser application requests, for example.
The WTP 32 (Wireless Transaction Protocol) beneath the WSP layer is responsible for reliable data transmission, for example. The WTLS layer 33 (Wireless Transport Layer Security) below the WTP layer contains optional services which are connected with the safety of data communication and which the various applications can choose. The lowermost protocol layer, the WDP layer 34 (Wireless Datagram Protocol), in the WAP protocol stack acts above the bearers intended for information transmission In each network, such as the GSM network or the CDMA network (Code Division Multiple Access). Bearers of this kind include short messages (SMS, Short Message Services), data calls (CSD, Circuit Switched Data), packet radio services (GPRS, General Packet Radio Service) and other bearers which are defined in the WAP specifications. Bearers are occasionally also called data carriers (bearers) or trails.
The services and applications 36 that utilise the WAP protocol stack do not necessarily have to use all the protocol layers. Thus an application can, for example, only utilise the lowermost WDP layer through a well-defined interface.
The WAP layers in the WAP gateway implementation are parts of a computer program which is stored in the memory of the gateway. Communication between the layers takes place through the protocol messages 40 (FIG. 4). Typically the upper layer uses the services of the lower layer. The request usually moves in the WAP gateway between layers 31–34 in the protocol stack from down to up, whereas the response moves in the opposite direction. Traffic between the protocol layers is controlled and administered by the control unit 41.
From the point of view of the WAP gateway, a problem is posed by the existence of a number of wireless networks, different network elements that vary according to manufacturer and the establishment of new networks implemented using different technologies that in turn involve different information transfer bearers, for gateway applications and the WAP protocol stack must be able to handle the information which is imported in using different bearers. Addresses, for example, can be presented as a telephone number or an IP number (Internet Protocol), depending on the bearer employed.
One solution to this problem is the use of a connection handle: in a computer program, which controls the operation of the WAP gateway, a connection handle can be assigned to each connection, which connection handle is a numerical connection-specific value in the WAP protocol stack. The connection comprises information on the sender's address (remote address), the sender's application address as a port number (remote port number), the receiver's address (local address), the receiver's application address as a port number (local port number), the stack layers (stack configuration) used and the bearer employed.
The administration and control of the connection handles can be implemented in a centralised manner through the connection handle manager contained in the control unit, which connection handle manager assigns a connection handle to each new connection it has stored and stores the said assigned connection handle in its memory.
In the WAP protocol stack, the connection handle specific to each connection is sent with a protocol message, which travels from one protocol layer to another, to identify the connection with which the said protocol message is connected. When creating protocol objects, the connection handle is stored in the storage block utilised by the layer by which the said protocol object was created. The protocol object denotes the information maintained by the protocol layer with regard to one basic protocol operation. One example of such a basic protocol operation is the WTP layer transaction.
Information on the creation and elimination of protocol objects is sent to the connection handle manager. Using the connection handle saves resources, for now there is no need in the WAP protocol stack to refer to full space-consuming address data. The protocol stack and the gateway applications do not have to be changed either when a new bearer is connected to the stack, for the connection is only identified using the connection handle.
The connection of different bearers to the WAP protocol stack is not a very complex task. It is performed through the API (Application Programming Interface) between the WDP layer and the bearers. Problems are, however, caused by the fact that the gateway does not know before the arrival of the datagram at the WDP layer what type of bearer applicable to data transmission is used at a given point in time. In order to be able to receive the datagram, the application in the gateway must be in a waiting mode in the application address in which the datagram is expected. Otherwise the datagram will be lost. As the datagram should not be lost and as the gateway does not know the bearer beforehand, one solution for ensuring the reception of the datagram is to establish a connection for each bearer connected with the protocol stack, which connection is specific to each gateway application. As there are a number of bearers, a large number of connections must be reserved for each gateway application even if these connections were not used at all. This means a waste of resources